History and Overview

There are already many Mandelbrot set generators in existance, some fast, some slow; some usable, some unusable. This program was started in April 1990 as a simple generator program which took a typed in set of coordinates, and plotted a low-res output screen which was then saved as a NEOchrome file. The reason for writing it was simple: none of the programs I had seen used colour very well. My program remembered the values it had calculated for each pixel, and after drawing the image used it's hindsite to redraw the image with intelligent use of colour. This statistics feature allows the user to zoom into a pattern which looks a real mess, and with a couple of keypresses turn the mess into a wonderful swirling masterpiece.

Features were added as I thought of them and parts of the original `C' code were rewritten in assembler. Finally, the whole thing was made totally GEM legal, allowing it to print, run on many non standard machines by using GEM screen calls and hopefully making it a lot easier to learn how to use. Statistics freaks may like to know that currently the source code is over 100K bytes of `C' and a further 12K bytes of assembler. Monochrome users will be pleased to know that most of the development work is done in ST high-res, which really can look good because there are so many pixels on screen.

This program has grown from humble beginnings to what I intend to be the most outstanding Mandelbrot generator available. It was originally written on a 1040STF, with later development on a 4Mb upgraded STE and further writing/debugging on an 8Mb TT.

The idea was to write a very fast Mandelbrot generator which can run on ANY ST related hardware in ANY resolution. So far it can cope with all ST and TT screen modes as well as an ST running Monster screen with a mono monitor. It uses the cookie jar feature of TTs and later STs to find what hardware is available. It can sense whether it has a 68020 or better CPU and whether there is a maths co-processor available. If it finds either of these, it will use them where appropriate. Where possible everything is made to be automatic; the program works out what is best and gets on with it.